要正式進入 Pwn 之前,我們應該要先了解 Pwn 是什麼。在分析程式行為時,透過觀察組語或 Pseudo Code,找出漏洞及弱點,達到控制程式流程,目的在於取得程式的控制權,拿到 Remote Server Shell,又稱為 Binary Exploitation。
這裡簡單來說,假設一般程式,具有輸入功能,並且會依照輸入經過演算法等處理後輸出,如下圖。
但若程式未設想使用者可能輸入,並且尚未做限制,當使用者輸入特定的字元、特殊符號時,可能造成程式崩壞,危害可能造成:
所以僅要有可以輸入,遞送參數的程式、服務,就可能造成 Pwn 的危害,一般而言,駭客們都會用 Pwn 來取得系統權限,並建立後門取得 Shell。
是 Linux 的執行檔格式
,就如同 Windows 與 PE(Portable Executable) 一樣。順帶一提,ELF 和 PE 都是 COFF(Common file format)格式的變種。
這裡簡單認識一下 ELF 的結構:
漂亮的圖~